#ifndef __TRANSFORM_H__
#define __TRANSFORM_H__

#include "vl/VLd.h"

class Dof;

class Transform
{
 public:
  virtual void Apply() = 0;
  virtual ~Transform() {}
  virtual Mat4d GetTransform(int type){Mat4d m=vl_zero;return m;}
  virtual Mat4d GetDerivative(int type, int dof){Mat4d m=vl_zero;return m;};
  virtual bool IsDof() { return false; }
  virtual int GetDofCount() { return 0; }
  virtual int GetIndex() { return mIndex; }
  virtual Dof* GetDof( int dof ) { return 0; }
  int mIndex;
};

#endif
